package com.seu.vcampus.vo;

import java.io.Serializable;
import java.util.Date;

/**
 * 借阅记录实体类
 * 
 * @author 虚拟校园开发团队
 * @since 1.0.0
 */
public class BorrowRecord implements Serializable {
    private static final long serialVersionUID = 1L;
    
    private String recordId;
    private String bookId;
    private String bookName;
    private String userId;
    private Date borrowDate;
    private Date dueDate;
    private Date returnDate;
    private String status;
    private String bookTitle;
    private String bookAuthor;
    private Date createTime;
    private Date updateTime;
    
    public BorrowRecord() {}
    
    public BorrowRecord(String recordId, String bookId, String bookName, String userId, 
                       Date borrowDate, Date dueDate) {
        this.recordId = recordId;
        this.bookId = bookId;
        this.bookName = bookName;
        this.userId = userId;
        this.borrowDate = borrowDate;
        this.dueDate = dueDate;
        this.status = "借阅中";
    }

    public BorrowRecord(String recordId, String bookId, String bookName, String userId, 
                       Date borrowDate, Date dueDate, String bookTitle, String bookAuthor) {
        this.recordId = recordId;
        this.bookId = bookId;
        this.bookName = bookName;
        this.userId = userId;
        this.borrowDate = borrowDate;
        this.dueDate = dueDate;
        this.status = "借阅中";
        this.bookTitle = bookTitle;
        this.bookAuthor = bookAuthor;
    }
    
    // Getter和Setter方法
    public String getRecordId() { return recordId; }
    public void setRecordId(String recordId) { this.recordId = recordId; }
    
    public String getBookId() { return bookId; }
    public void setBookId(String bookId) { this.bookId = bookId; }
    
    public String getBookName() { return bookName; }
    public void setBookName(String bookName) { this.bookName = bookName; }
    
    public String getUserId() { return userId; }
    public void setUserId(String userId) { this.userId = userId; }
    
    public Date getBorrowDate() { return borrowDate; }
    public void setBorrowDate(Date borrowDate) { this.borrowDate = borrowDate; }
    
    public Date getDueDate() { return dueDate; }
    public void setDueDate(Date dueDate) { this.dueDate = dueDate; }
    
    public Date getReturnDate() { return returnDate; }
    public void setReturnDate(Date returnDate) { this.returnDate = returnDate; }
    
    public String getStatus() { return status; }
    public void setStatus(String status) { this.status = status; }
    
    public Date getCreateTime() { return createTime; }
    public void setCreateTime(Date createTime) { this.createTime = createTime; }
    
    public Date getUpdateTime() { return updateTime; }
    public void setUpdateTime(Date updateTime) { this.updateTime = updateTime; }

    public String getBookTitle() {
        return bookTitle;
    }

    public void setBookTitle(String bookTitle) {
        this.bookTitle = bookTitle;
    }

    public String getBookAuthor() {
        return bookAuthor;
    }

    public void setBookAuthor(String bookAuthor) {
        this.bookAuthor = bookAuthor;
    }
    
    @Override
    public String toString() {
        return "BorrowRecord{" +
                "recordId='" + recordId + '\'' +
                ", bookId='" + bookId + '\'' +
                ", bookName='" + bookName + '\'' +
                ", userId='" + userId + '\'' +
                ", borrowDate=" + borrowDate +
                ", dueDate=" + dueDate +
                ", returnDate=" + returnDate +
                ", status='" + status + '\'' +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                '}';
    }
}